Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: add OAuth2 support #834

Merged
merged 18 commits into from
Oct 3, 2024
Merged

feat!: add OAuth2 support #834

merged 18 commits into from
Oct 3, 2024

Conversation

porcellus
Copy link
Collaborator

Summary of change

(A few sentences about this PR)

Related issues

  • Link to issue1 here
  • Link to issue1 here

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!)

Documentation changes

(If relevant, please create a PR in our docs repo, or create a checklist here highlighting the necessary changes)

Checklist for important updates

  • Changelog has been updated
  • frontendDriverInterfaceSupported.json file has been updated (if needed)
  • Changes to the version if needed
    • In package.json
    • In package-lock.json
    • In lib/ts/version.ts
  • Had run npm run build-pretty
  • Had installed and ran the pre-commit hook
  • Issue this PR against the latest non released version branch.
    • To know which one it is, run find the latest released tag (git tag) in the format vX.Y.Z, and then find the latest branch (git branch --all) whose X.Y is greater than the latest released tag.
    • If no such branch exists, then create one from the latest released branch.
  • If added a new recipe interface, then make sure that the implementation of it uses NON arrow functions only (like someFunc: function () {..}).
  • If I added a new recipe, I also added the recipe entry point into the size-limit section of package.json with the size limit set to the current size rounded up.
  • If I added a new recipe, I also added the recipe entry point into the rollup.config.mjs
  • If I added a new login method, I modified the list in lib/ts/types.ts
  • If I added a factor id, I modified the list in lib/ts/recipe/multifactorauth/types.ts

Remaining TODOs for this PR

  • Item1
  • Item2

porcellus and others added 11 commits June 9, 2024 23:00
* feat: add initial impl of OAuth2 recipe

* build: add missing bundle conf

* fix: wrong recipe id

* feat: clean up todos

* feat: make use of getLoginChallengeInfo

* fix: self-review fixes
* test: Add e2e test for OAuth2

* fix: PR changes

* feat: add tryLinkingWithSessionUser, forceFreshAuth and small test fixes

* test: add explanation comment to oauth2 tests

---------

Co-authored-by: Mihaly Lengyel <[email protected]>
* feat: Add functions and prebuiltUI for oauth2 logout

* Update lib/ts/recipe/oauth2provider/components/themes/themeBase.tsx

Co-authored-by: Mihály Lengyel <[email protected]>

* fix: PR changes

* fix: PR changes

---------

Co-authored-by: Mihály Lengyel <[email protected]>
* feat: Add st-oauth2-authorization-server example

* feat: Add with-oauth2-without-supertokens

* feat: Add with-oauth2-with-supertokens example

* feat: keep the tenantId queryparam during redirections

* feat: update to match node changes

* test: stability fixes

* test: update dep version and fix tests

* fix: ignore appname in the oauth flow if it is empty

* fix: fix typo

* feat: handle not initialized OAuth2Provider recipe more gracefully

* feat: ignore loginChallenge queryparam on auth page if we couldn't load it

* feat: show an error if the getLoginChallengeInfo errors out

* feat: update prebuiltui types and add test into with-typescript

* test: add more debugging options for ci

* fix: shouldTryLinkingWithSessionUser

* chore: update versions

* ci: do not forward browser logs into the console on CI

* test: improve request logging in tests

* test: update test expectations to match new node logic

* chore: update web-js dep version in lock

---------

Co-authored-by: Mihaly Lengyel <[email protected]>
Copy link

github-actions bot commented Oct 3, 2024

size-limit report 📦

Path Size
lib/build/index.js 24.38 KB (+6.48% 🔺)
recipe/session/index.js 25.07 KB (+6.06% 🔺)
recipe/session/prebuiltui.js 29.8 KB (+5.72% 🔺)
recipe/thirdparty/index.js 32.3 KB (+2.64% 🔺)
recipe/emailpassword/index.js 11.66 KB (+5.32% 🔺)
recipe/emailverification/index.js 7.98 KB (+1.77% 🔺)
recipe/passwordless/index.js 15.56 KB (+4.59% 🔺)
recipe/emailverification/prebuiltui.js 34.47 KB (+4.64% 🔺)
recipe/thirdparty/prebuiltui.js 53.61 KB (+3.58% 🔺)
recipe/emailpassword/prebuiltui.js 40.66 KB (+4.25% 🔺)
recipe/passwordless/prebuiltui.js 128.56 KB (+1.38% 🔺)
recipe/multitenancy/index.js 6.83 KB (+2.39% 🔺)
recipe/multifactorauth/index.js 11.6 KB (+6.36% 🔺)
recipe/multifactorauth/prebuiltui.js 33.45 KB (+4.97% 🔺)
recipe/oauth2provider/index.js 7.59 KB (+100% 🔺)
recipe/oauth2provider/prebuiltui.js 31.82 KB (+100% 🔺)

@porcellus porcellus changed the base branch from 0.43 to 0.49 October 3, 2024 21:06
@porcellus porcellus merged commit 89d421c into 0.49 Oct 3, 2024
23 of 27 checks passed
@porcellus porcellus deleted the feat/oauth2/base branch October 3, 2024 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants